/********************************************************************************
 * Project Name		[JavaSE_Fundamentals]
 * File Name     	[CommandLineParams.java]
 * Creation Date 	[2015-01-01]
 * 
 * Copyright© ge.y.yang@gmail.com All Rights Reserved
 * 
 * Work hard, play harder, think big and keep fit
 ********************************************************************************/
package basicGrammar;

/**
 * 命令行参数
 * 
 * @author 不落的太阳(Sean Yang aka ShortPeace)
 * @version 1.0
 * @since jdk 1.8
 * 
 */
public class CommandLineParams {

	/**
	 * 加法运算
	 * 
	 * @param a
	 *            加数
	 * @param b
	 *            被加数
	 * @return a和b的和
	 */
	public static int add(int a, int b) {
		return a + b;
	}

	/**
	 * 获得运算结果
	 * 
	 * @param args
	 *            命令行参数
	 * @return 运算结果
	 */
	public static int getResult(String[] args) {
		if (args.length != 2) {
			System.out.println("请输入两个参数");
			System.exit(0);
		}

		int a = 0;
		int b = 0;
		digitChecking(args[0]);
		a = Integer.parseInt(args[0]);

		digitChecking(args[1]);
		b = Integer.parseInt(args[1]);

		int result = add(a, b);
		return result;
	}

	/**
	 * 检测输入的每个参数是否为合法数字
	 * 
	 * @param args
	 *            输入数字的字符串表示
	 */
	private static void digitChecking(String args) {
		for (int i = 0; i < args.length(); i++) {
			if (Character.isDigit(args.charAt(i))) {
				continue;
			} else {
				System.out.println("请输入数字");
				System.exit(0);
			}
		}
	}

	public static void main(String[] args) {
		System.out.println(getResult(args));
	}
}
